package hello;

/**
 * Created with IntelliJIDEA.
 * Description:
 * User: ASUS
 * Date: 2025/8/30
 * Time: 16:30
 */
public class PassAsParameterExample {

    // 这个方法接收一个整型数组，并打印其所有元素
    public static void printArray(int[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
            if (i < arr.length - 1) {
                System.out.print(", ");
            }
        }
        System.out.println("]");
    }

    // 这个方法接收一个数组，并将其中所有元素的值翻倍
    public static void doubleElements(int[] numbers) {
        // 这里的修改会直接影响 main 方法中的 originalArray
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = numbers[i] * 2;
        }
    }

    public static void main(String[] args) {
        int[] originalArray = {1, 2, 3, 4, 5};

        System.out.println("调用方法前，原始数组：");
        printArray(originalArray); // 输出: [1, 2, 3, 4, 5]

        // 将数组作为参数传递给方法
        doubleElements(originalArray);

        System.out.println("调用方法后，原始数组：");
        printArray(originalArray); // 输出: [2, 4, 6, 8, 10]
        // 可以看到，原始数组的值已经被修改了！
    }
}
